package licode.unisop.provider.vo;

import lombok.*;

import java.time.LocalDateTime;

/**
 * 定义平台信息
 *
 * @author licode
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class SiPlatform extends SiBaseData {

    private static SiProps EMPTY = new SiProps();

    /**
     * 平台访问密钥
     */
    private String secret;

    /**
     * 平台领域ID
     */
    private String realmId;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 数据提供者ID
     */
    private String providerId;

    /**
     * 数据提供者名称
     */
    private String providerName;

    /**
     * 平台首页地址
     */
    private String homeUrl;

    /**
     * 票据地址
     */
    private String ticketUrl;

    /**
     * 其它属性
     */
    private SiProps props;

    /**
     * 资源更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 资源创建时间
     */
    private LocalDateTime createTime;

    public SiProps checkProps() {
        return (null == props ? EMPTY : props);
    }

    public boolean hasProps() {
        return (null != props && !props.isEmpty());
    }
}
